# #100以内除三
for i in range(1, 101):
    if i % 3 == 0 and i % 7 == 0:
        print(i)

# #猜数字
import random

number = random.randint(1, 30)  # 生成一个1-30之间的随机数作为答案
guess = int(input("猜测一个1-30之间的数字："))  # 获取用户输入的猜测数字

while guess != number:
    if guess < number:
        print("太小了，再试一次！")
    else:
        print("太大了，再试一次！")
    guess = int(input("猜测一个1-30之间的数字："))  # 再次获取用户输入的猜测数字

print("恭喜你，答对了！")

# #打印99乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}x{i}={i*j}", end="\t")
    print()  # 每一行打印完毕后换行

#打印水仙花数
for num in range(100, 1000):  # 只需检查三位数
    # 分解数的个位、十位和百位
    hundreds = num // 100
    tens = (num % 100) // 10
    ones = num % 10

    if num == hundreds ** 3 + tens ** 3 + ones ** 3:
        print(num)


# # 打印100以内的所有质数
def is_prime(n):
    """判断一个数是否为质数"""
    if n <= 1:
        return False
    for i in range(2, int(n ** 0.5) + 1):  # 只需测试到平方根部分
        if n % i == 0:
            return False
    return True

for num in range(2, 101):
    if is_prime(num):
        print(num)


# # #打印100以内的完数
def find_perfect_numbers(n):
    perfect_numbers = []
    for num in range(1, n + 1):
        sum_factors = 1
        for i in range(2, num):
            if num % i == 0:
                sum_factors += i
        if sum_factors == num:
            perfect_numbers.append(num)
    return perfect_numbers

perfect_numbers_100 = find_perfect_numbers(100)
print("100以内的完数有：", perfect_numbers_100)
#
#
# # #打印斐波那契数列前30列
for i in range(1,40):
    if i==1:
        print(1,end="\t")
    elif i==2:
        print(1,end="\t")
    else:
        a,b=0,1
        for j in range(2,i+1):
            a,b=b,a+b
        print(b,end="\t")

# #打印菱形
n = 9  # 中间的宽度

# 上半部分
for i in range(n // 2 + 1):
    print(' ' * (n // 2 - i) + '*' * (2 * i + 1))

# 下半部分
for i in range(n // 2 - 1, -1, -1):
    print(' ' * (n // 2 - i) + '*' * (2 * i + 1))

